﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data.Sql;
using System.Data;
using Entidades;

namespace DataMapper
{
    public class PedidoDataMapper
    {
        string ruta = "data source = P1079\\SQLEXPRESS_AXOFT; initial catalog = Concurso_UTN; Integrated Security = True";

        System.Data.SqlClient.SqlConnection oCon;
        public void AltaPedido(Entidades.DatosPlanilla datos)
        {
            oCon = new System.Data.SqlClient.SqlConnection();
            oCon.ConnectionString = ruta;//Data Source = ServidorSQL; Initial Catalog = BaseDatos; Integrated Security = True
            oCon.Open();
            SqlCommand comand = new SqlCommand("spAltaPedido", oCon);
            comand.CommandType = CommandType.StoredProcedure;
            comand.Parameters.Add("@Departamento", SqlDbType.NVarChar, 100).Value = datos.Departamento;
            comand.Parameters.Add("@ResolusionDepN", SqlDbType.NVarChar, 100).Value = datos.ResolusionDepN;
            comand.Parameters.Add("@Asigatura", SqlDbType.NVarChar, 100).Value = datos.Asigatura;
            comand.Parameters.Add("@Area", SqlDbType.NVarChar, 100).Value = datos.Area;
            comand.Parameters.Add("@Categoria", SqlDbType.NVarChar, 100).Value = datos.Categoria;
            comand.Parameters.Add("@Cantidad", SqlDbType.NVarChar, 100).Value = datos.Cantidad;
            comand.Parameters.Add("@Tipo", SqlDbType.NVarChar, 100).Value = datos.Tipo;
            comand.Parameters.Add("@NomProyecto", SqlDbType.NVarChar, 100).Value = datos.NomProyecto;
            comand.Parameters.Add("@Motivos", SqlDbType.NVarChar, 100).Value = datos.Motivos;
            comand.Parameters.Add("@NomJuradoCasaTitu", SqlDbType.NVarChar, 100).Value = datos.NomJuradoCasaTitu;
            comand.Parameters.Add("@NomJuradoUTNTitu", SqlDbType.NVarChar, 100).Value = datos.NomJuradoUTNTitu;
            comand.Parameters.Add("@NomFacultadTitu", SqlDbType.NVarChar, 100).Value = datos.NomFacultadTitu;
            comand.Parameters.Add("@nomJuradoOtraFacTitu", SqlDbType.NVarChar, 100).Value = datos.nomJuradoOtraFacTitu;
            comand.Parameters.Add("@nomFacAcademicaTitu", SqlDbType.NVarChar, 100).Value = datos.nomFacAcademicaTitu;
            comand.Parameters.Add("@NomJuradoCasaSuplent", SqlDbType.NVarChar, 100).Value = datos.NomJuradoCasaSuplent;
            comand.Parameters.Add("@NomJuradoUTNSuplent", SqlDbType.NVarChar, 100).Value = datos.NomJuradoUTNSuplent;
            comand.Parameters.Add("@NomFacultadSuplent", SqlDbType.NVarChar, 100).Value = datos.NomFacultadSuplent;
            comand.Parameters.Add("@nomJuradoOtraFacSuplent", SqlDbType.NVarChar, 100).Value = datos.nomJuradoOtraFacSuplent;
            comand.Parameters.Add("@nomFacAcademicaSuplent", SqlDbType.NVarChar, 100).Value = datos.nomFacAcademicaSuplent;
            comand.Parameters.Add("@NomVeedorTitu", SqlDbType.NVarChar, 100).Value = datos.NomVeedorTitu;
            comand.Parameters.Add("@NomVeedorSuplent", SqlDbType.NVarChar, 100).Value = datos.NomVeedorSuplent;
            comand.Parameters.Add("@estidiRegNombTitu", SqlDbType.NVarChar, 100).Value = datos.estidiRegNombTitu;
            comand.Parameters.Add("@estidiRegNombSuplent", SqlDbType.NVarChar, 100).Value = datos.estidiRegNombSuplent;
            comand.Parameters.Add("@estidiRegPorcentagATitu", SqlDbType.NVarChar, 100).Value = datos.estidiRegPorcentagATitu;
            comand.Parameters.Add("@estidiRegPorcentagASuplent", SqlDbType.NVarChar, 100).Value = datos.estidiRegPorcentagASuplent;
            comand.Parameters.Add("@DisenioCurriN", SqlDbType.NVarChar, 100).Value = datos.DisenioCurriN;
            comand.Parameters.Add("@ResolucionCDNum", SqlDbType.NVarChar, 100).Value = datos.ResolucionCDNum;
            comand.Parameters.Add("@AsignaturaAConcursar1", SqlDbType.NVarChar, 100).Value = datos.AsignaturaAConcursar1;
            comand.Parameters.Add("@AsignaturaAConcursar2", SqlDbType.NVarChar, 100).Value = datos.AsignaturaAConcursar2;
            comand.Parameters.Add("@AsignaturaAConcursar3", SqlDbType.NVarChar, 100).Value = datos.AsignaturaAConcursar3;
            comand.Parameters.Add("@AsignaturaAConcursar4", SqlDbType.NVarChar, 100).Value = datos.AsignaturaAConcursar4;
            comand.Parameters.Add("@StrucCateProfAux1", SqlDbType.NVarChar, 100).Value = datos.StrucCateProfAux1;
            comand.Parameters.Add("@StrucCateProfAux2", SqlDbType.NVarChar, 100).Value = datos.StrucCateProfAux2;
            comand.Parameters.Add("@StrucCateProfAux3", SqlDbType.NVarChar, 100).Value = datos.StrucCateProfAux3;
            comand.Parameters.Add("@StrucCateProfAux4", SqlDbType.NVarChar, 100).Value = datos.StrucCateProfAux4;
            comand.Parameters.Add("@StrucCateProfAux5", SqlDbType.NVarChar, 100).Value = datos.StrucCateProfAux5;
            comand.Parameters.Add("@StrucCateProfAux6", SqlDbType.NVarChar, 100).Value = datos.StrucCateProfAux6;
            comand.Parameters.Add("@StrucCateProfAux7", SqlDbType.NVarChar, 100).Value = datos.StrucCateProfAux7;
            comand.Parameters.Add("@StrucCateProfAux8", SqlDbType.NVarChar, 100).Value = datos.StrucCateProfAux8;
            comand.Parameters.Add("@StrucCateCategoria1", SqlDbType.NVarChar, 100).Value = datos.StrucCateCategoria1;
            comand.Parameters.Add("@StrucCateCategoria2", SqlDbType.NVarChar, 100).Value = datos.StrucCateCategoria2;
            comand.Parameters.Add("@StrucCateCategoria3", SqlDbType.NVarChar, 100).Value = datos.StrucCateCategoria3;
            comand.Parameters.Add("@StrucCateCategoria4", SqlDbType.NVarChar, 100).Value = datos.StrucCateCategoria4;
            comand.Parameters.Add("@StrucCateCategoria5", SqlDbType.NVarChar, 100).Value = datos.StrucCateCategoria5;
            comand.Parameters.Add("@StrucCateCategoria6", SqlDbType.NVarChar, 100).Value = datos.StrucCateCategoria6;
            comand.Parameters.Add("@StrucCateCategoria7", SqlDbType.NVarChar, 100).Value = datos.StrucCateCategoria7;
            comand.Parameters.Add("@StrucCateCategoria8", SqlDbType.NVarChar, 100).Value = datos.StrucCateCategoria8;
            comand.Parameters.Add("@StrucNomApe1", SqlDbType.NVarChar, 100).Value = datos.StrucNomApe1;
            comand.Parameters.Add("@StrucNomApe2", SqlDbType.NVarChar, 100).Value = datos.StrucNomApe2;
            comand.Parameters.Add("@StrucNomApe3", SqlDbType.NVarChar, 100).Value = datos.StrucNomApe3;
            comand.Parameters.Add("@StrucNomApe4", SqlDbType.NVarChar, 100).Value = datos.StrucNomApe4;
            comand.Parameters.Add("@StrucNomApe5", SqlDbType.NVarChar, 100).Value = datos.StrucNomApe5;
            comand.Parameters.Add("@StrucNomApe6", SqlDbType.NVarChar, 100).Value = datos.StrucNomApe6;
            comand.Parameters.Add("@StrucNomApe7", SqlDbType.NVarChar, 100).Value = datos.StrucNomApe7;
            comand.Parameters.Add("@StrucNomApe8", SqlDbType.NVarChar, 100).Value = datos.StrucNomApe8;
            comand.Parameters.Add("@StrucCateSituacionRevista1", SqlDbType.NVarChar, 100).Value = datos.StrucCateSituacionRevista1;
            comand.Parameters.Add("@StrucCateSituacionRevista2", SqlDbType.NVarChar, 100).Value = datos.StrucCateSituacionRevista2;
            comand.Parameters.Add("@StrucCateSituacionRevista3", SqlDbType.NVarChar, 100).Value = datos.StrucCateSituacionRevista3;
            comand.Parameters.Add("@StrucCateSituacionRevista4", SqlDbType.NVarChar, 100).Value = datos.StrucCateSituacionRevista4;
            comand.Parameters.Add("@StrucCateSituacionRevista5", SqlDbType.NVarChar, 100).Value = datos.StrucCateSituacionRevista5;
            comand.Parameters.Add("@StrucCateSituacionRevista6", SqlDbType.NVarChar, 100).Value = datos.StrucCateSituacionRevista6;
            comand.Parameters.Add("@StrucCateSituacionRevista7", SqlDbType.NVarChar, 100).Value = datos.StrucCateSituacionRevista7;
            comand.Parameters.Add("@StrucCateSituacionRevista8", SqlDbType.NVarChar, 100).Value = datos.StrucCateSituacionRevista8;
            comand.Parameters.Add("@StrucCateResoluCD1", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluCD1;
            comand.Parameters.Add("@StrucCateResoluCD2", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluCD2;
            comand.Parameters.Add("@StrucCateResoluCD3", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluCD3;
            comand.Parameters.Add("@StrucCateResoluCD4", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluCD4;
            comand.Parameters.Add("@StrucCateResoluCD5", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluCD5;
            comand.Parameters.Add("@StrucCateResoluCD6", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluCD6;
            comand.Parameters.Add("@StrucCateResoluCD7", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluCD7;
            comand.Parameters.Add("@StrucCateResoluCD8", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluCD8;
            comand.Parameters.Add("@StrucCateResoluN1", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluN1;
            comand.Parameters.Add("@StrucCateResoluN2", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluN2;
            comand.Parameters.Add("@StrucCateResoluN3", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluN3;
            comand.Parameters.Add("@StrucCateResoluN4", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluN4;
            comand.Parameters.Add("@StrucCateResoluN5", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluN5;
            comand.Parameters.Add("@StrucCateResoluN6", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluN6;
            comand.Parameters.Add("@StrucCateResoluN7", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluN7;
            comand.Parameters.Add("@StrucCateResoluN8", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluN8;
            comand.Parameters.Add("@StrucCateComision1", SqlDbType.NVarChar, 100).Value = datos.StrucCateComision1;
            comand.Parameters.Add("@StrucCateComision2", SqlDbType.NVarChar, 100).Value = datos.StrucCateComision2;
            comand.Parameters.Add("@StrucCateComision3", SqlDbType.NVarChar, 100).Value = datos.StrucCateComision3;
            comand.Parameters.Add("@StrucCateComision4", SqlDbType.NVarChar, 100).Value = datos.StrucCateComision4;
            comand.Parameters.Add("@StrucCateComision5", SqlDbType.NVarChar, 100).Value = datos.StrucCateComision5;
            comand.Parameters.Add("@StrucCateComision6", SqlDbType.NVarChar, 100).Value = datos.StrucCateComision6;
            comand.Parameters.Add("@StrucCateComision7", SqlDbType.NVarChar, 100).Value = datos.StrucCateComision7;
            comand.Parameters.Add("@StrucCateComision8", SqlDbType.NVarChar, 100).Value = datos.StrucCateComision8;
            comand.Parameters.Add("@StrucCateNEstudiante1", SqlDbType.NVarChar, 100).Value = datos.StrucCateNEstudiante1;
            comand.Parameters.Add("@StrucCateNEstudiante2", SqlDbType.NVarChar, 100).Value = datos.StrucCateNEstudiante2;
            comand.Parameters.Add("@StrucCateNEstudiante3", SqlDbType.NVarChar, 100).Value = datos.StrucCateNEstudiante3;
            comand.Parameters.Add("@StrucCateNEstudiante4", SqlDbType.NVarChar, 100).Value = datos.StrucCateNEstudiante4;
            comand.Parameters.Add("@StrucCateNEstudiante5", SqlDbType.NVarChar, 100).Value = datos.StrucCateNEstudiante5;
            comand.Parameters.Add("@StrucCateNEstudiante6", SqlDbType.NVarChar, 100).Value = datos.StrucCateNEstudiante6;
            comand.Parameters.Add("@StrucCateNEstudiante7", SqlDbType.NVarChar, 100).Value = datos.StrucCateNEstudiante7;
            comand.Parameters.Add("@StrucCateNEstudiante8", SqlDbType.NVarChar, 100).Value = datos.StrucCateNEstudiante8;
            comand.Parameters.Add("@StrucCateDedicacionCant1", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionCant1;
            comand.Parameters.Add("@StrucCateDedicacionCant2", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionCant2;
            comand.Parameters.Add("@StrucCateDedicacionCant3", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionCant3;
            comand.Parameters.Add("@StrucCateDedicacionCant4", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionCant4;
            comand.Parameters.Add("@StrucCateDedicacionCant5", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionCant5;
            comand.Parameters.Add("@StrucCateDedicacionCant6", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionCant6;
            comand.Parameters.Add("@StrucCateDedicacionCant7", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionCant7;
            comand.Parameters.Add("@StrucCateDedicacionCant8", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionCant8;
            comand.Parameters.Add("@StrucCateDedicacionTipo1", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionTipo1;
            comand.Parameters.Add("@StrucCateDedicacionTipo2", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionTipo2;
            comand.Parameters.Add("@StrucCateDedicacionTipo3", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionTipo3;
            comand.Parameters.Add("@StrucCateDedicacionTipo4", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionTipo4;
            comand.Parameters.Add("@StrucCateDedicacionTipo5", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionTipo5;
            comand.Parameters.Add("@StrucCateDedicacionTipo6", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionTipo6;
            comand.Parameters.Add("@StrucCateDedicacionTipo7", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionTipo7;
            comand.Parameters.Add("@StrucCateDedicacionTipo8", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionTipo8;
            comand.Parameters.Add("@OtroAporte", SqlDbType.NVarChar, 100).Value = datos.OtroAporte;

            //comand.Parameters.Add("@MotivosCierre", SqlDbType.NVarChar, 100).Value = datos.NomProyecto;
            comand.ExecuteNonQuery();
            oCon.Dispose();
        }

        public Entidades.DatosPlanilla Consultar(int id)
        {
            Entidades.DatosPlanilla a = new Entidades.DatosPlanilla();
            SqlDataReader reader = default(SqlDataReader);
            oCon = new System.Data.SqlClient.SqlConnection();
            oCon.ConnectionString = ruta;
            oCon.Open();
            SqlCommand comand = new SqlCommand("ConsultaPedido", oCon);
            comand.CommandType = CommandType.StoredProcedure;
            comand.Parameters.Add("@id", SqlDbType.BigInt).Value = id;
            reader = comand.ExecuteReader();
            while (reader.Read())
            {
                a.NroPedido = Convert.ToInt32(reader["NroPedido"]);
                a.Area = Convert.ToString(reader["Area"]);
                a.Departamento = Convert.ToString(reader["Departamento"]);
                a.ResolusionDepN = Convert.ToString(reader["ResolusionDepN"]);
                a.Asigatura = Convert.ToString(reader["Asigatura"]);
                a.Categoria = Convert.ToString(reader["Categoria"]);
                a.Cantidad = Convert.ToString(reader["Cantidad"]);
                a.Tipo = Convert.ToString(reader["Tipo"]);
                a.NomProyecto = Convert.ToString(reader["NomProyecto"]);
                a.Motivos = Convert.ToString(reader["Motivos"]);
                a.NomJuradoCasaTitu = Convert.ToString(reader["NomJuradoCasaTitu"]);
                a.NomJuradoUTNTitu = Convert.ToString(reader["NomJuradoUTNTitu"]);
                a.NomFacultadTitu = Convert.ToString(reader["NomFacultadTitu"]);
                a.nomJuradoOtraFacTitu = Convert.ToString(reader["nomJuradoOtraFacTitu"]);
                a.nomFacAcademicaTitu = Convert.ToString(reader["nomFacAcademicaTitu"]);
                a.NomJuradoCasaSuplent = Convert.ToString(reader["NomJuradoCasaSuplent"]);
                a.NomJuradoUTNSuplent = Convert.ToString(reader["NomJuradoUTNSuplent"]);
                a.NomFacultadSuplent = Convert.ToString(reader["NomFacultadSuplent"]);
                a.nomJuradoOtraFacSuplent = Convert.ToString(reader["nomJuradoOtraFacSuplent"]);
                a.nomFacAcademicaSuplent = Convert.ToString(reader["nomFacAcademicaSuplent"]);
                a.NomVeedorSuplent = Convert.ToString(reader["NomVeedorSuplent"]);
                a.NomVeedorTitu = Convert.ToString(reader["NomVeedorTitu"]);
                a.estidiRegNombTitu = Convert.ToString(reader["estidiRegNombTitu"]);
                a.estidiRegNombSuplent = Convert.ToString(reader["estidiRegNombSuplent"]);
                a.estidiRegPorcentagATitu = Convert.ToString(reader["estidiRegPorcentagATitu"]);
                a.estidiRegPorcentagASuplent = Convert.ToString(reader["estidiRegPorcentagASuplent"]);
                a.DisenioCurriN = Convert.ToString(reader["DisenioCurriN"]);
                a.ResolucionCDNum = Convert.ToString(reader["ResolucionCDNum"]);
                a.AsignaturaAConcursar1 = Convert.ToString(reader["AsignaturaAConcursar1"]);
                a.AsignaturaAConcursar2 = Convert.ToString(reader["AsignaturaAConcursar2"]);
                a.AsignaturaAConcursar3 = Convert.ToString(reader["AsignaturaAConcursar3"]);
                a.AsignaturaAConcursar4 = Convert.ToString(reader["AsignaturaAConcursar4"]);
                a.StrucCateProfAux1 = Convert.ToString(reader["StrucCateProfAux1"]);
                a.StrucCateProfAux2 = Convert.ToString(reader["StrucCateProfAux2"]);
                a.StrucCateProfAux3 = Convert.ToString(reader["StrucCateProfAux3"]);
                a.StrucCateProfAux4 = Convert.ToString(reader["StrucCateProfAux4"]);
                a.StrucCateProfAux5 = Convert.ToString(reader["StrucCateProfAux5"]);
                a.StrucCateProfAux6 = Convert.ToString(reader["StrucCateProfAux6"]);
                a.StrucCateProfAux7 = Convert.ToString(reader["StrucCateProfAux7"]);
                a.StrucCateProfAux8 = Convert.ToString(reader["StrucCateProfAux8"]);
                a.StrucCateCategoria1 = Convert.ToString(reader["StrucCateCategoria1"]);
                a.StrucCateCategoria2 = Convert.ToString(reader["StrucCateCategoria2"]);
                a.StrucCateCategoria3 = Convert.ToString(reader["StrucCateCategoria3"]);
                a.StrucCateCategoria4 = Convert.ToString(reader["StrucCateCategoria4"]);
                a.StrucCateCategoria5 = Convert.ToString(reader["StrucCateCategoria5"]);
                a.StrucCateCategoria6 = Convert.ToString(reader["StrucCateCategoria6"]);
                a.StrucCateCategoria7 = Convert.ToString(reader["StrucCateCategoria7"]);
                a.StrucCateCategoria8 = Convert.ToString(reader["StrucCateCategoria8"]);
                a.StrucNomApe1 = Convert.ToString(reader["StrucNomApe1"]);
                a.StrucNomApe2 = Convert.ToString(reader["StrucNomApe2"]);
                a.StrucNomApe3 = Convert.ToString(reader["StrucNomApe3"]);
                a.StrucNomApe4 = Convert.ToString(reader["StrucNomApe4"]);
                a.StrucNomApe5 = Convert.ToString(reader["StrucNomApe5"]);
                a.StrucNomApe6 = Convert.ToString(reader["StrucNomApe6"]);
                a.StrucNomApe7 = Convert.ToString(reader["StrucNomApe7"]);
                a.StrucNomApe8 = Convert.ToString(reader["StrucNomApe8"]);
                a.StrucCateSituacionRevista1 = Convert.ToString(reader["StrucCateSituacionRevista1"]);
                a.StrucCateSituacionRevista2 = Convert.ToString(reader["StrucCateSituacionRevista2"]);
                a.StrucCateSituacionRevista3 = Convert.ToString(reader["StrucCateSituacionRevista3"]);
                a.StrucCateSituacionRevista4 = Convert.ToString(reader["StrucCateSituacionRevista4"]);
                a.StrucCateSituacionRevista5 = Convert.ToString(reader["StrucCateSituacionRevista5"]);
                a.StrucCateSituacionRevista6 = Convert.ToString(reader["StrucCateSituacionRevista6"]);
                a.StrucCateSituacionRevista7 = Convert.ToString(reader["StrucCateSituacionRevista7"]);
                a.StrucCateSituacionRevista8 = Convert.ToString(reader["StrucCateSituacionRevista8"]);
                a.StrucCateResoluCD1 = Convert.ToString(reader["StrucCateResoluCD1"]);
                a.StrucCateResoluCD2 = Convert.ToString(reader["StrucCateResoluCD2"]);
                a.StrucCateResoluCD3 = Convert.ToString(reader["StrucCateResoluCD3"]);
                a.StrucCateResoluCD4 = Convert.ToString(reader["StrucCateResoluCD4"]);
                a.StrucCateResoluCD5 = Convert.ToString(reader["StrucCateResoluCD5"]);
                a.StrucCateResoluCD6 = Convert.ToString(reader["StrucCateResoluCD6"]);
                a.StrucCateResoluCD7 = Convert.ToString(reader["StrucCateResoluCD7"]);
                a.StrucCateResoluCD8 = Convert.ToString(reader["StrucCateResoluCD8"]);
                a.StrucCateResoluN1 = Convert.ToString(reader["StrucCateResoluN1"]);
                a.StrucCateResoluN2 = Convert.ToString(reader["StrucCateResoluN2"]);
                a.StrucCateResoluN3 = Convert.ToString(reader["StrucCateResoluN3"]);
                a.StrucCateResoluN4 = Convert.ToString(reader["StrucCateResoluN4"]);
                a.StrucCateResoluN5 = Convert.ToString(reader["StrucCateResoluN5"]);
                a.StrucCateResoluN6 = Convert.ToString(reader["StrucCateResoluN6"]);
                a.StrucCateResoluN7 = Convert.ToString(reader["StrucCateResoluN7"]);
                a.StrucCateResoluN8 = Convert.ToString(reader["StrucCateResoluN8"]);
                a.StrucCateComision1 = Convert.ToString(reader["StrucCateComision1"]);
                a.StrucCateComision2 = Convert.ToString(reader["StrucCateComision2"]);
                a.StrucCateComision3 = Convert.ToString(reader["StrucCateComision3"]);
                a.StrucCateComision4 = Convert.ToString(reader["StrucCateComision4"]);
                a.StrucCateComision5 = Convert.ToString(reader["StrucCateComision5"]);
                a.StrucCateComision6 = Convert.ToString(reader["StrucCateComision6"]);
                a.StrucCateComision7 = Convert.ToString(reader["StrucCateComision7"]);
                a.StrucCateComision8 = Convert.ToString(reader["StrucCateComision8"]);
                a.StrucCateNEstudiante1 = Convert.ToString(reader["StrucCateNEstudiante1"]);
                a.StrucCateNEstudiante2 = Convert.ToString(reader["StrucCateNEstudiante2"]);
                a.StrucCateNEstudiante3 = Convert.ToString(reader["StrucCateNEstudiante3"]);
                a.StrucCateNEstudiante4 = Convert.ToString(reader["StrucCateNEstudiante4"]);
                a.StrucCateNEstudiante5 = Convert.ToString(reader["StrucCateNEstudiante5"]);
                a.StrucCateNEstudiante6 = Convert.ToString(reader["StrucCateNEstudiante6"]);
                a.StrucCateNEstudiante7 = Convert.ToString(reader["StrucCateNEstudiante7"]);
                a.StrucCateNEstudiante8 = Convert.ToString(reader["StrucCateNEstudiante8"]);
                a.StrucCateDedicacionCant1 = Convert.ToString(reader["StrucCateDedicacionCant1"]);
                a.StrucCateDedicacionCant2 = Convert.ToString(reader["StrucCateDedicacionCant2"]);
                a.StrucCateDedicacionCant3 = Convert.ToString(reader["StrucCateDedicacionCant3"]);
                a.StrucCateDedicacionCant4 = Convert.ToString(reader["StrucCateDedicacionCant4"]);
                a.StrucCateDedicacionCant5 = Convert.ToString(reader["StrucCateDedicacionCant5"]);
                a.StrucCateDedicacionCant6 = Convert.ToString(reader["StrucCateDedicacionCant6"]);
                a.StrucCateDedicacionCant7 = Convert.ToString(reader["StrucCateDedicacionCant7"]);
                a.StrucCateDedicacionCant8 = Convert.ToString(reader["StrucCateDedicacionCant8"]);
                a.StrucCateDedicacionTipo1 = Convert.ToString(reader["StrucCateDedicacionTipo1"]);
                a.StrucCateDedicacionTipo2 = Convert.ToString(reader["StrucCateDedicacionTipo2"]);
                a.StrucCateDedicacionTipo3 = Convert.ToString(reader["StrucCateDedicacionTipo3"]);
                a.StrucCateDedicacionTipo4 = Convert.ToString(reader["StrucCateDedicacionTipo4"]);
                a.StrucCateDedicacionTipo5 = Convert.ToString(reader["StrucCateDedicacionTipo5"]);
                a.StrucCateDedicacionTipo6 = Convert.ToString(reader["StrucCateDedicacionTipo6"]);
                a.StrucCateDedicacionTipo7 = Convert.ToString(reader["StrucCateDedicacionTipo7"]);
                a.StrucCateDedicacionTipo8 = Convert.ToString(reader["StrucCateDedicacionTipo8"]);
                a.OtroAporte = Convert.ToString(reader["OtroAporte"]);
                a.MotivosCierre = Convert.ToString(reader["MotivosCierre"]);
                a.Estado = Convert.ToString(reader["Estado"]);
            }
            reader.Dispose();
            oCon.Dispose();
            return a;
        }

        public void ModificarPedido(Entidades.DatosPlanilla datos)
        {
            oCon = new System.Data.SqlClient.SqlConnection();
            oCon.ConnectionString = ruta;
            //Data Source = ServidorSQL; Initial Catalog = BaseDatos; Integrated Security = True
            oCon.Open();
            SqlCommand comand = new SqlCommand("ModificarPedido", oCon);
            comand.CommandType = CommandType.StoredProcedure;
            comand.Parameters.Add("@Departamento", SqlDbType.NVarChar, 100).Value = datos.Departamento;
            comand.Parameters.Add("@ResolusionDepN", SqlDbType.NVarChar, 100).Value = datos.ResolusionDepN;
            comand.Parameters.Add("@Asigatura", SqlDbType.NVarChar, 100).Value = datos.Asigatura;
            comand.Parameters.Add("@Area", SqlDbType.NVarChar, 100).Value = datos.Area;
            comand.Parameters.Add("@Categoria", SqlDbType.NVarChar, 100).Value = datos.Categoria;
            comand.Parameters.Add("@Cantidad", SqlDbType.NVarChar, 100).Value = datos.Cantidad;
            comand.Parameters.Add("@Tipo", SqlDbType.NVarChar, 100).Value = datos.Tipo;
            comand.Parameters.Add("@NomProyecto", SqlDbType.NVarChar, 100).Value = datos.NomProyecto;
            comand.Parameters.Add("@Motivos", SqlDbType.NVarChar, 100).Value = datos.Motivos;
            comand.Parameters.Add("@NomJuradoCasaTitu", SqlDbType.NVarChar, 100).Value = datos.NomJuradoCasaTitu;
            comand.Parameters.Add("@NomJuradoUTNTitu", SqlDbType.NVarChar, 100).Value = datos.NomJuradoUTNTitu;
            comand.Parameters.Add("@NomFacultadTitu", SqlDbType.NVarChar, 100).Value = datos.NomFacultadTitu;
            comand.Parameters.Add("@nomJuradoOtraFacTitu", SqlDbType.NVarChar, 100).Value = datos.nomJuradoOtraFacTitu;
            comand.Parameters.Add("@nomFacAcademicaTitu", SqlDbType.NVarChar, 100).Value = datos.nomFacAcademicaTitu;
            comand.Parameters.Add("@NomJuradoCasaSuplent", SqlDbType.NVarChar, 100).Value = datos.NomJuradoCasaSuplent;
            comand.Parameters.Add("@NomJuradoUTNSuplent", SqlDbType.NVarChar, 100).Value = datos.NomJuradoUTNSuplent;
            comand.Parameters.Add("@NomFacultadSuplent", SqlDbType.NVarChar, 100).Value = datos.NomFacultadSuplent;
            comand.Parameters.Add("@nomJuradoOtraFacSuplent", SqlDbType.NVarChar, 100).Value = datos.nomJuradoOtraFacSuplent;
            comand.Parameters.Add("@nomFacAcademicaSuplent", SqlDbType.NVarChar, 100).Value = datos.nomFacAcademicaSuplent;
            comand.Parameters.Add("@NomVeedorTitu", SqlDbType.NVarChar, 100).Value = datos.NomVeedorTitu;
            comand.Parameters.Add("@NomVeedorSuplent", SqlDbType.NVarChar, 100).Value = datos.NomVeedorSuplent;
            comand.Parameters.Add("@estidiRegNombTitu", SqlDbType.NVarChar, 100).Value = datos.estidiRegNombTitu;
            comand.Parameters.Add("@estidiRegNombSuplent", SqlDbType.NVarChar, 100).Value = datos.estidiRegNombSuplent;
            comand.Parameters.Add("@estidiRegPorcentagATitu", SqlDbType.NVarChar, 100).Value = datos.estidiRegPorcentagATitu;
            comand.Parameters.Add("@estidiRegPorcentagASuplent", SqlDbType.NVarChar, 100).Value = datos.estidiRegPorcentagASuplent;
            comand.Parameters.Add("@DisenioCurriN", SqlDbType.NVarChar, 100).Value = datos.DisenioCurriN;
            comand.Parameters.Add("@ResolucionCDNum", SqlDbType.NVarChar, 100).Value = datos.ResolucionCDNum;
            comand.Parameters.Add("@AsignaturaAConcursar1", SqlDbType.NVarChar, 100).Value = datos.AsignaturaAConcursar1;
            comand.Parameters.Add("@AsignaturaAConcursar2", SqlDbType.NVarChar, 100).Value = datos.AsignaturaAConcursar2;
            comand.Parameters.Add("@AsignaturaAConcursar3", SqlDbType.NVarChar, 100).Value = datos.AsignaturaAConcursar3;
            comand.Parameters.Add("@AsignaturaAConcursar4", SqlDbType.NVarChar, 100).Value = datos.AsignaturaAConcursar4;
            comand.Parameters.Add("@StrucCateProfAux1", SqlDbType.NVarChar, 100).Value = datos.StrucCateProfAux1;
            comand.Parameters.Add("@StrucCateProfAux2", SqlDbType.NVarChar, 100).Value = datos.StrucCateProfAux2;
            comand.Parameters.Add("@StrucCateProfAux3", SqlDbType.NVarChar, 100).Value = datos.StrucCateProfAux3;
            comand.Parameters.Add("@StrucCateProfAux4", SqlDbType.NVarChar, 100).Value = datos.StrucCateProfAux4;
            comand.Parameters.Add("@StrucCateProfAux5", SqlDbType.NVarChar, 100).Value = datos.StrucCateProfAux5;
            comand.Parameters.Add("@StrucCateProfAux6", SqlDbType.NVarChar, 100).Value = datos.StrucCateProfAux6;
            comand.Parameters.Add("@StrucCateProfAux7", SqlDbType.NVarChar, 100).Value = datos.StrucCateProfAux7;
            comand.Parameters.Add("@StrucCateProfAux8", SqlDbType.NVarChar, 100).Value = datos.StrucCateProfAux8;
            comand.Parameters.Add("@StrucCateCategoria1", SqlDbType.NVarChar, 100).Value = datos.StrucCateCategoria1;
            comand.Parameters.Add("@StrucCateCategoria2", SqlDbType.NVarChar, 100).Value = datos.StrucCateCategoria2;
            comand.Parameters.Add("@StrucCateCategoria3", SqlDbType.NVarChar, 100).Value = datos.StrucCateCategoria3;
            comand.Parameters.Add("@StrucCateCategoria4", SqlDbType.NVarChar, 100).Value = datos.StrucCateCategoria4;
            comand.Parameters.Add("@StrucCateCategoria5", SqlDbType.NVarChar, 100).Value = datos.StrucCateCategoria5;
            comand.Parameters.Add("@StrucCateCategoria6", SqlDbType.NVarChar, 100).Value = datos.StrucCateCategoria6;
            comand.Parameters.Add("@StrucCateCategoria7", SqlDbType.NVarChar, 100).Value = datos.StrucCateCategoria7;
            comand.Parameters.Add("@StrucCateCategoria8", SqlDbType.NVarChar, 100).Value = datos.StrucCateCategoria8;
            comand.Parameters.Add("@StrucNomApe1", SqlDbType.NVarChar, 100).Value = datos.StrucNomApe1;
            comand.Parameters.Add("@StrucNomApe2", SqlDbType.NVarChar, 100).Value = datos.StrucNomApe2;
            comand.Parameters.Add("@StrucNomApe3", SqlDbType.NVarChar, 100).Value = datos.StrucNomApe3;
            comand.Parameters.Add("@StrucNomApe4", SqlDbType.NVarChar, 100).Value = datos.StrucNomApe4;
            comand.Parameters.Add("@StrucNomApe5", SqlDbType.NVarChar, 100).Value = datos.StrucNomApe5;
            comand.Parameters.Add("@StrucNomApe6", SqlDbType.NVarChar, 100).Value = datos.StrucNomApe6;
            comand.Parameters.Add("@StrucNomApe7", SqlDbType.NVarChar, 100).Value = datos.StrucNomApe7;
            comand.Parameters.Add("@StrucNomApe8", SqlDbType.NVarChar, 100).Value = datos.StrucNomApe8;
            comand.Parameters.Add("@StrucCateSituacionRevista1", SqlDbType.NVarChar, 100).Value = datos.StrucCateSituacionRevista1;
            comand.Parameters.Add("@StrucCateSituacionRevista2", SqlDbType.NVarChar, 100).Value = datos.StrucCateSituacionRevista2;
            comand.Parameters.Add("@StrucCateSituacionRevista3", SqlDbType.NVarChar, 100).Value = datos.StrucCateSituacionRevista3;
            comand.Parameters.Add("@StrucCateSituacionRevista4", SqlDbType.NVarChar, 100).Value = datos.StrucCateSituacionRevista4;
            comand.Parameters.Add("@StrucCateSituacionRevista5", SqlDbType.NVarChar, 100).Value = datos.StrucCateSituacionRevista5;
            comand.Parameters.Add("@StrucCateSituacionRevista6", SqlDbType.NVarChar, 100).Value = datos.StrucCateSituacionRevista6;
            comand.Parameters.Add("@StrucCateSituacionRevista7", SqlDbType.NVarChar, 100).Value = datos.StrucCateSituacionRevista7;
            comand.Parameters.Add("@StrucCateSituacionRevista8", SqlDbType.NVarChar, 100).Value = datos.StrucCateSituacionRevista8;
            comand.Parameters.Add("@StrucCateResoluCD1", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluCD1;
            comand.Parameters.Add("@StrucCateResoluCD2", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluCD2;
            comand.Parameters.Add("@StrucCateResoluCD3", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluCD3;
            comand.Parameters.Add("@StrucCateResoluCD4", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluCD4;
            comand.Parameters.Add("@StrucCateResoluCD5", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluCD5;
            comand.Parameters.Add("@StrucCateResoluCD6", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluCD6;
            comand.Parameters.Add("@StrucCateResoluCD7", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluCD7;
            comand.Parameters.Add("@StrucCateResoluCD8", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluCD8;
            comand.Parameters.Add("@StrucCateResoluN1", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluN1;
            comand.Parameters.Add("@StrucCateResoluN2", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluN2;
            comand.Parameters.Add("@StrucCateResoluN3", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluN3;
            comand.Parameters.Add("@StrucCateResoluN4", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluN4;
            comand.Parameters.Add("@StrucCateResoluN5", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluN5;
            comand.Parameters.Add("@StrucCateResoluN6", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluN6;
            comand.Parameters.Add("@StrucCateResoluN7", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluN7;
            comand.Parameters.Add("@StrucCateResoluN8", SqlDbType.NVarChar, 100).Value = datos.StrucCateResoluN8;
            comand.Parameters.Add("@StrucCateComision1", SqlDbType.NVarChar, 100).Value = datos.StrucCateComision1;
            comand.Parameters.Add("@StrucCateComision2", SqlDbType.NVarChar, 100).Value = datos.StrucCateComision2;
            comand.Parameters.Add("@StrucCateComision3", SqlDbType.NVarChar, 100).Value = datos.StrucCateComision3;
            comand.Parameters.Add("@StrucCateComision4", SqlDbType.NVarChar, 100).Value = datos.StrucCateComision4;
            comand.Parameters.Add("@StrucCateComision5", SqlDbType.NVarChar, 100).Value = datos.StrucCateComision5;
            comand.Parameters.Add("@StrucCateComision6", SqlDbType.NVarChar, 100).Value = datos.StrucCateComision6;
            comand.Parameters.Add("@StrucCateComision7", SqlDbType.NVarChar, 100).Value = datos.StrucCateComision7;
            comand.Parameters.Add("@StrucCateComision8", SqlDbType.NVarChar, 100).Value = datos.StrucCateComision8;
            comand.Parameters.Add("@StrucCateNEstudiante1", SqlDbType.NVarChar, 100).Value = datos.StrucCateNEstudiante1;
            comand.Parameters.Add("@StrucCateNEstudiante2", SqlDbType.NVarChar, 100).Value = datos.StrucCateNEstudiante2;
            comand.Parameters.Add("@StrucCateNEstudiante3", SqlDbType.NVarChar, 100).Value = datos.StrucCateNEstudiante3;
            comand.Parameters.Add("@StrucCateNEstudiante4", SqlDbType.NVarChar, 100).Value = datos.StrucCateNEstudiante4;
            comand.Parameters.Add("@StrucCateNEstudiante5", SqlDbType.NVarChar, 100).Value = datos.StrucCateNEstudiante5;
            comand.Parameters.Add("@StrucCateNEstudiante6", SqlDbType.NVarChar, 100).Value = datos.StrucCateNEstudiante6;
            comand.Parameters.Add("@StrucCateNEstudiante7", SqlDbType.NVarChar, 100).Value = datos.StrucCateNEstudiante7;
            comand.Parameters.Add("@StrucCateNEstudiante8", SqlDbType.NVarChar, 100).Value = datos.StrucCateNEstudiante8;
            comand.Parameters.Add("@StrucCateDedicacionCant1", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionCant1;
            comand.Parameters.Add("@StrucCateDedicacionCant2", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionCant2;
            comand.Parameters.Add("@StrucCateDedicacionCant3", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionCant3;
            comand.Parameters.Add("@StrucCateDedicacionCant4", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionCant4;
            comand.Parameters.Add("@StrucCateDedicacionCant5", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionCant5;
            comand.Parameters.Add("@StrucCateDedicacionCant6", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionCant6;
            comand.Parameters.Add("@StrucCateDedicacionCant7", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionCant7;
            comand.Parameters.Add("@StrucCateDedicacionCant8", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionCant8;
            comand.Parameters.Add("@StrucCateDedicacionTipo1", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionTipo1;
            comand.Parameters.Add("@StrucCateDedicacionTipo2", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionTipo2;
            comand.Parameters.Add("@StrucCateDedicacionTipo3", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionTipo3;
            comand.Parameters.Add("@StrucCateDedicacionTipo4", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionTipo4;
            comand.Parameters.Add("@StrucCateDedicacionTipo5", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionTipo5;
            comand.Parameters.Add("@StrucCateDedicacionTipo6", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionTipo6;
            comand.Parameters.Add("@StrucCateDedicacionTipo7", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionTipo7;
            comand.Parameters.Add("@StrucCateDedicacionTipo8", SqlDbType.NVarChar, 100).Value = datos.StrucCateDedicacionTipo8;
            comand.Parameters.Add("@OtroAporte", SqlDbType.NVarChar, 100).Value = datos.OtroAporte;
            comand.Parameters.Add("@id", SqlDbType.Int).Value = datos.NroPedido;
            //comand.Parameters.Add("@MotivosCierre", SqlDbType.NVarChar, 100).Value = datos.NomProyecto;
            comand.ExecuteNonQuery();
            oCon.Dispose();
        }

        public void AnularPedido(int id)
        {
            oCon = new System.Data.SqlClient.SqlConnection();
            oCon.ConnectionString = ruta;
            //Data Source = ServidorSQL; Initial Catalog = BaseDatos; Integrated Security = True
            oCon.Open();
            SqlCommand comand = new SqlCommand("spAnularPedido", oCon);
            comand.CommandType = CommandType.StoredProcedure;
            comand.Parameters.Add("@ID", SqlDbType.Int).Value = id;
            comand.ExecuteNonQuery();
        }

        public void CerrarPedido(int id, string Motivos)
        {
            oCon = new System.Data.SqlClient.SqlConnection();
            oCon.ConnectionString = ruta;
            //Data Source = ServidorSQL; Initial Catalog = BaseDatos; Integrated Security = True
            oCon.Open();
            SqlCommand comand = new SqlCommand("spCerrarPedido", oCon);
            comand.CommandType = CommandType.StoredProcedure;
            comand.Parameters.Add("@ID", SqlDbType.Int).Value = id;
            comand.Parameters.Add("@MotivoCerrar", SqlDbType.NVarChar, 200).Value = Motivos.ToString();

            comand.ExecuteNonQuery();
        }

        public List<Entidades.DatosPlanilla> LlenarFiltro()
        {
            List<Entidades.DatosPlanilla> a = new List<Entidades.DatosPlanilla>();
            SqlDataReader reader = default(SqlDataReader);
            oCon = new System.Data.SqlClient.SqlConnection();
            oCon.ConnectionString = ruta;
            oCon.Open();
            SqlCommand comand = new SqlCommand("LlenarGrilla", oCon);
            comand.CommandType = CommandType.StoredProcedure;
            reader = comand.ExecuteReader();
            while (reader.Read())
            {
                a.Add(new Entidades.DatosPlanilla()
                      {
                          NroPedido = Convert.ToInt32(reader["NroPedido"]),
                          Area = Convert.ToString(reader["Area"]),
                          Departamento = Convert.ToString(reader["Departamento"]),
                          Asigatura = Convert.ToString(reader["Asigatura"]),
                          Categoria = Convert.ToString(reader["Categoria"]),
                          Estado = Convert.ToString(reader["Estado"])
                      });
            }
            reader.Dispose();
            oCon.Dispose();
            return a;
        }

        public List<Entidades.DatosPlanilla> cargarDepartamento()
        {

            List<Entidades.DatosPlanilla> a = new List<Entidades.DatosPlanilla>();
            SqlDataReader reader = default(SqlDataReader);
            oCon = new System.Data.SqlClient.SqlConnection();
            oCon.ConnectionString = ruta;
            oCon.Open();
            SqlCommand comand = new SqlCommand("cargarDepartamento", oCon);
            comand.CommandType = CommandType.StoredProcedure;
            reader = comand.ExecuteReader();
            while (reader.Read())
            {
                a.Add(new Entidades.DatosPlanilla()
                {
                    Departamento = Convert.ToString(reader["Departamento"])
                });
            }
            reader.Dispose();
            oCon.Dispose();
            return a;

        }

        public List<Entidades.DatosPlanilla> loadArea()
        {
            List<Entidades.DatosPlanilla> a = new List<Entidades.DatosPlanilla>();
            SqlDataReader reader = default(SqlDataReader);
            oCon = new System.Data.SqlClient.SqlConnection();
            oCon.ConnectionString = ruta;
            oCon.Open();
            SqlCommand comand = new SqlCommand("cargarArea", oCon);
            comand.CommandType = CommandType.StoredProcedure;
            reader = comand.ExecuteReader();
            while (reader.Read())
            {
                a.Add(new Entidades.DatosPlanilla()
                {
                    Area = Convert.ToString(reader["Area"])
                });
            }
            reader.Dispose();
            oCon.Dispose();
            return a;
        }

        public List<Entidades.DatosPlanilla> LoadEstado()
        { 
          List<Entidades.DatosPlanilla> a = new List<Entidades.DatosPlanilla>();
            SqlDataReader reader = default(SqlDataReader);
            oCon = new System.Data.SqlClient.SqlConnection();
            oCon.ConnectionString = ruta;
            oCon.Open();
            SqlCommand comand = new SqlCommand("cargarEstado", oCon);
            comand.CommandType = CommandType.StoredProcedure;
            reader = comand.ExecuteReader();
            while (reader.Read())
            {
                a.Add(new Entidades.DatosPlanilla()
                {
                    Estado = Convert.ToString(reader["Estado"])
                }); 
            }
            return a;
        }

        public List<Entidades.DatosPlanilla> LoadCategoria() 
        {  
            List<Entidades.DatosPlanilla> a = new List<Entidades.DatosPlanilla>();
            SqlDataReader reader = default(SqlDataReader);
            oCon = new System.Data.SqlClient.SqlConnection();
            oCon.ConnectionString = ruta;
            oCon.Open();
            SqlCommand comand = new SqlCommand("cargarCategoria", oCon);
            comand.CommandType = CommandType.StoredProcedure;
            reader = comand.ExecuteReader();   
            while (reader.Read())
            { 
                a.Add(new Entidades.DatosPlanilla()
                {
                    Categoria = Convert.ToString(reader["Categoria"])
                });
            }
            oCon.Dispose();
            oCon.Close();             
            return a;
        }

        public List<Entidades.DatosPlanilla> Filtrar( string consulta)
        {
            List<Entidades.DatosPlanilla> a = new List<Entidades.DatosPlanilla>();
            SqlDataReader reader = default(SqlDataReader);
            oCon = new System.Data.SqlClient.SqlConnection();
            oCon.ConnectionString = ruta;
            oCon.Open();
            SqlCommand comand = new SqlCommand("cargarCategoria", oCon);
            comand.CommandType = CommandType.Text;
            comand.CommandText = consulta;

            reader = comand.ExecuteReader();

            while (reader.Read())
            {
                a.Add(new Entidades.DatosPlanilla()
                {
                    NroPedido = Convert.ToInt32(reader["NroPedido"]),
                    Area = Convert.ToString(reader["Area"]),
                    Departamento = Convert.ToString(reader["Departamento"]),
                    Asigatura = Convert.ToString(reader["Asigatura"]),
                    Categoria = Convert.ToString(reader["Categoria"]),
                    Estado = Convert.ToString(reader["Estado"])
                });
            }
            reader.Dispose();
            oCon.Dispose();
            return a;


        }

        public List<Entidades.Entidades_Combos> LlenarDepartamento (){
            try
            {
                List<Entidades.Entidades_Combos> a = new List<Entidades.Entidades_Combos>();
                SqlDataReader reader = default(SqlDataReader);
                oCon = new System.Data.SqlClient.SqlConnection();
                oCon.ConnectionString = ruta;
                oCon.Open();
                SqlCommand comand = new SqlCommand("mostrarDepto", oCon);
                comand.CommandType = CommandType.StoredProcedure;
                reader = comand.ExecuteReader();
                while (reader.Read())
                {
                    a.Add(new Entidades.Entidades_Combos()
                    {
                        id_dto = Convert.ToInt32(reader["Id"]),
                        desc_dto = Convert.ToString(reader["Departamento"])

                    });
                }
                oCon.Dispose();
                oCon.Close();
                return a;
            }
            catch (Exception ex )
            {
                
                throw ex;
            }
            
        }

        public List<Entidades.Entidades_Combos> LlenarArea( int id)
        {
            try
            {
                List<Entidades.Entidades_Combos> a = new List<Entidades.Entidades_Combos>();
                SqlDataReader reader = default(SqlDataReader);
                oCon = new System.Data.SqlClient.SqlConnection();
                oCon.ConnectionString = ruta;
                oCon.Open();
                SqlCommand comand = new SqlCommand("llenarArea", oCon);
                comand.Parameters.Add("@id", SqlDbType.BigInt).Value = id;

                comand.CommandType = CommandType.StoredProcedure;
                reader = comand.ExecuteReader();
                while (reader.Read())
                {
                    a.Add(new Entidades.Entidades_Combos()
                    {
                        id_area = Convert.ToInt32(reader["id"]),
                        desc_area = Convert.ToString(reader["Area"])

                    });
                }
                oCon.Dispose();
                oCon.Close();
                return a;
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }

        public List<Entidades.Entidades_Combos> llenarAsignatura(int id)
        {
            try
            {
                List<Entidades.Entidades_Combos> a = new List<Entidades.Entidades_Combos>();
                SqlDataReader reader = default(SqlDataReader);
                oCon = new System.Data.SqlClient.SqlConnection();
                oCon.ConnectionString = ruta;
                oCon.Open();
                SqlCommand comand = new SqlCommand("llenarAsignatura", oCon);
                comand.Parameters.Add("@id", SqlDbType.BigInt).Value = id;

                comand.CommandType = CommandType.StoredProcedure;
                reader = comand.ExecuteReader();
                while (reader.Read())
                {
                    a.Add(new Entidades.Entidades_Combos()
                    {
                        id_asignatura = Convert.ToInt32(reader["id"]),
                        desc_asignatura = Convert.ToString(reader["Asignatura"])

                    });

                }
                oCon.Dispose();
                oCon.Close();
                return a;
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }

        public List<Entidades.Entidades_Combos> llenarPersonas(int id) 
        {
            
            try
            {
                List<Entidades.Entidades_Combos> a = new List<Entidades.Entidades_Combos>();
                SqlDataReader reader = default(SqlDataReader);
                oCon = new System.Data.SqlClient.SqlConnection();
                oCon.ConnectionString = ruta;
                oCon.Open();
                SqlCommand comand = new SqlCommand("cargarPersonas", oCon);
                comand.Parameters.Add("@id", SqlDbType.BigInt).Value = id;


                comand.CommandType = CommandType.StoredProcedure;
                reader = comand.ExecuteReader();
                while (reader.Read())
                {
                    a.Add(new Entidades.Entidades_Combos()
                    {
                        DNI=Convert.ToInt32 (reader["dni"]),
                        NombreApellidoTitulo = Convert.ToString(reader["nombre"]),
                        Estado = Convert.ToInt32(reader["estado"]),
                        Universidad  = Convert.ToInt32(reader["universidad"]),
                        Facultad  = Convert.ToInt32(reader["facultad"]),
                         NomFacu  =  Convert.ToString(reader["NomFacu"])
                         
                    });

                }
                oCon.Dispose();
                oCon.Close();
                return a;
            }
            catch (Exception ex)
            {
                throw ex;
            }

        }

        public string traerNomFacu(int doc)
        {
            string nombre="";
            try
            { 
                SqlDataReader reader = default(SqlDataReader);
                oCon = new System.Data.SqlClient.SqlConnection();
                oCon.ConnectionString = ruta;
                oCon.Open();
                SqlCommand comand = new SqlCommand("BuscarNomFacu", oCon);
                comand.Parameters.Add("@Nrodoc", SqlDbType.BigInt).Value = doc;
                comand.CommandType = CommandType.StoredProcedure;
                reader = comand.ExecuteReader();
                
                while (reader.Read())
                {
                    nombre = Convert.ToString(reader["NomFacu"]);                   
                }
                reader.Dispose();
                oCon.Close();

                return nombre;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        
        }

        public int traerPorcenVeedor(int doc)
        {
            int porcen = 0;
            try
            {
                SqlDataReader reader = default(SqlDataReader);
                oCon = new System.Data.SqlClient.SqlConnection();
                oCon.ConnectionString = ruta;
                oCon.Open();
                SqlCommand comand = new SqlCommand("BuscarEstado", oCon);
                comand.Parameters.Add("@Nrodoc", SqlDbType.BigInt).Value = doc;
                comand.CommandType = CommandType.StoredProcedure;
                reader = comand.ExecuteReader();

                while (reader.Read())
                {
                    porcen = Convert.ToInt32(reader["Estado"]);
                }
                reader.Dispose();
                oCon.Close();

                return porcen;
            }
            catch (Exception ex)
            {
                throw ex;
            }

        }

        public List<Entidades.Entidades_Combos> traerMaterias(int id)
        {           
            try
            {List<Entidades.Entidades_Combos> a = new List<Entidades.Entidades_Combos>();
                SqlDataReader reader = default(SqlDataReader);
                oCon = new System.Data.SqlClient.SqlConnection();
                oCon.ConnectionString = ruta;
                oCon.Open();
                SqlCommand comand = new SqlCommand("traerMateria", oCon);
                comand.Parameters.Add("@id", SqlDbType.BigInt).Value = id;
                comand.CommandType = CommandType.StoredProcedure;
                reader = comand.ExecuteReader();

               while (reader.Read())
                {
                    a.Add(new Entidades.Entidades_Combos()
                    {
                        //idMat = Convert.ToInt32(reader["id"]),
                        Materia = Convert.ToString(reader["Materia"])
                        //idAsig = Convert.ToInt32(reader["idAsignatura"])
                    });
                }
                reader.Dispose();
                oCon.Close();

                return a;
            }
            catch (Exception ex)
            {
                throw ex;
            }

        }
    }
   

}